ποΈGitΠ―ΡΠ°ποΈ
Node / meshtastic / Meshtastic-Android / files / specs / 20260711-153545-message-markdown-styling / spec.md
specs/20260711-153545-message-markdown-styling/spec.md 212bc596e37fd45e75b830e36cd825972f12cf79 (212bc596) Text, 31.07 KB
Feature Specification: Message Inline Markdown Styling (iOS Parity)
Feature Branch: T383838claude/message-markdown-styling-parity (proposed)
Created: 2026-07-11
Status: Draft
Input: "Investigate the iOS message-input markdown styling feature and develop a parity spec for Android."
Cross-Platform Reference: meshtastic-apple PR #1771 β Add message formatting toolbar (iOS 18+)
Clarifications
Session 2026-07-11
β’ Q: What scope should the first delivery cover? β A: All three β P1 render, P2 authoring toolbar, and P3 draft styling β in one effort (staged internally P1βP2βP3, but not split across PRs).
β’ Q: Which markdown parsing approach for the renderer? β A: JetBrains T383838org.jetbrains:markdown (intellij-markdown) AST walk; add as a direct version-catalog + T383838core/ui dependency.
β’ Q: How should the draft preview / live styling (P3) work? β A: Live in-field styling via Compose T383838OutputTransformation (as the existing T383838mentionOutputTransformation does); no separate preview bubble unless in-field styling proves insufficient.
β’ Q: How should markdown behave during active message search? β A: Suppress markdown styling while a search query is active β render plain text + query highlight only.
β’ Q: Should channel-URL (T383838meshtastic.org/e/#β¦) links tapped inside a bubble be intercepted (as iOS does)? β A: No β out of scope; deferred to a separate story that also covers existing autolinks (default retained).
Summary
iOS renders and lets users author lightweight inline markdown in mesh text messages β bold, italic, ~~strikethrough~~, T383838inline code, and T383838